import axios from "axios";
import { getToKen, getUserName } from "@/utils/app.js";
// import { Message } from "element-ui"; //单独引入element-ui 全局引用的只能在.vue中直接使用，对于这中js文件中的需要单独倒入进来

//地址 http://www.web-jshtml.cn/productapi
const BASEURL = process.env.NODE_ENV === "production" ? "" : "/devApi";

let vueRequest = axios.create({
  // 设置基本的请求路径
  baseURL: BASEURL,
  //设置超时时间
  timeout: 15000,
  //设置请求头
  headers: { "X-Custom-Header": "foobar" }
});

// 添加请求拦截器
vueRequest.interceptors.request.use(
  function(config) {
    // 在发送请求之前做些什么

    config.headers["tokey"] = getToKen();
    config.headers["userName"] = getUserName();
    return config;
  },
  function(error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  }
);

// 添加响应拦截器
vueRequest.interceptors.response.use(
  function(response) {
    // 对响应数据做点什么
    let data = response.data;
    if (data.resCode != 0) {
      // Message.error(data.message);
      // 拦截网络请求的错误信息
      return Promise.reject(data);
    }
    return response;
  },
  function(error) {
    // 对响应错误做点什么
    return Promise.reject(error);
  }
);

export default vueRequest;

//对于使用网络请求需要进行包装一层  不然在引用的时候就会自动执行
